import Vue from 'vue'
import moment from 'moment'

/**
 * 标题高亮
 * title [string] 标题
 * keys [arr] 关键字
 * */
Vue.filter('titleHighlight', function (title, keys) {
  keys.map((key) => {
    title = title.replace(new RegExp(key, 'g'), '<span class="text-danger font-bold">' + key + '</span>')
  })
  return title
})

/**
 * 订单状态
 * status: 1: 等待接单 3: 订单已取消 4: 已成交 5:[已申请]
 * */
Vue.filter('orderStatus', function (status) {
  return status === '1' ? '等待接单' : status === '2' ? '待确认' : status === '3' ? '订单已取消' : status === '4' ? '已支付' : status === '5' ? '已申请' : status
})

/**
 * 订单状态2
 * status: 1: 待成交 3: 已删除 4: 已支付
 * */
Vue.filter('orderStatus2', function (status) {
  return status === '1' ? '待成交' : status === '2' ? '确认支付' : status === '3' ? '已删除' : status === '4' ? '已支付' : status === '5' ? '被抢单' : status === '6' ? '确认收款' : status
})

/**
 * 列表时间格式化
 * status: 1: 等待接单 3: 订单已取消 4: 已成交
 * */
Vue.filter('hhmmss', function (value) {
  return moment(value).format('hh:mm:ss')
})

Vue.filter('HHmm', function (value) {
  return moment(value).format('HH:mm')
})

Vue.filter('hhmm', function (value) {
  return moment(value).format('hh:mm')
})
Vue.filter('mmss', function (value) {
  return moment(value).format('mm:ss')
})

Vue.filter('YYYYMMDDhhmmss', function (value) {
  return moment(value).format('YYYY年MM月DD日 HH:mm:ss')
})

Vue.filter('MMDDHHmmss', function (value) {
  return moment(value).format('MM月DD日 HH:mm:ss')
})

Vue.filter('YYYYMMDDHHmmss', function (value) {
  return moment(value).format('YYYY年MM月DD日 HH:mm:ss')
})

Vue.filter('YYYYMMDD', function (value) {
  return moment(value).format('YYYY-MM-DD')
})

// 系统消息类型
Vue.filter('systemType', function (value) {
  return value === 1 ? '私聊' : value === 2 ? '接单' : value
})

/**
 * 客户结算方式
 * way: 0: 现金 1: 月结 2: 60天结 3: 90天结 4: 75天结 5: 105天结
 * */
Vue.filter('buyWay', function (way) {
  return way === '0' ? '现金' : way === '1' ? '月结' : way === '2' ? '60天结' : way === '3' ? '90天结' : way === '4' ? '75天结' : way === '5' ? '105天结' : way
})

/**
 * 客户类型
 * type: 客户类型 0放箱公司 1客户 2报关公司 3司机 4车队
 * */
Vue.filter('mytype', function (type) {
  return type === '0' ? '放箱公司' : type === '1' ? '客户' : type === '2' ? '报关公司' : type === '3' ? '司机' : type === '4' ? '车队' : type
})

/**
 * 客户状态
 * state: 客户类型 0放箱公司 1客户 2报关公司 3司机 4车队
 * */
Vue.filter('mystate', function (state) {
  return state === '0' ? '禁用' : state === '1' ? '激活' : state
})

/**
 * 核销状态
 * state: 核销状态 0未核销 1已核销 2部分核销
 * */
Vue.filter('myafter', function (state) {
  return state === '0' ? '未核销' : state === '1' ? '已核销' : state === '2' ? '部分核销' : state
})

/**
 * 费用有效
 * state: 是否有效 0激活 1禁用
 * */
Vue.filter('myfee', function (state) {
  return state === '1' ? '禁用' : state === '0' ? '激活' : state
})

/**
 * 是否报表导出
 * state: 0导出 1不导出
 * */
Vue.filter('myreport', function (type) {
  return type === '1' ? '不导出' : type === '0' ? '导出' : type
})

/**
 * 列表常用
 * state: 0 不常用 1常用
 * */
Vue.filter('mylistUsed', function (state) {
  return state === '1' ? '常用' : state === '0' ? '不常用' : state
})

/**
 * 是否代垫
 * state: 0不代垫 1代垫
 * */
Vue.filter('myactingMat', function (type) {
  return type === '1' ? '代垫' : type === '0' ? '不代垫' : type
})

/**
 * 是否常用
 * state: 0常用 1不常用
 * */
Vue.filter('mycommonly', function (state) {
  return state === '1' ? '常用' : state === '0' ? '不常用' : state
})

/**
 * 车辆类别
 * type:  =0 禁用 =1激活
 * */
Vue.filter('cartype', function (type) {
  return type === '1' ? '一拖二' : type === '2' ? '一拖三' : type === '3' ? '二拖二' : type === '4' ? '二拖三' : type
})

/**
 * 费用类型
 * type:  0应收 1应付 2车辆成本 3公司成本
 * */
Vue.filter('mycostType', function (type) {
  return type === '0' ? '应收' : type === '1' ? '应付' : type === '2' ? '车辆成本' : type === '3' ? '公司成本' : type
})

/**
 * 对账状态
 * type:  对账状态 0已对账 1未对账 2客户不确认
 * */
Vue.filter('mycheckState', function (type) {
  return type === '0' ? '已对账' : type === '1' ? '未对账' : type === '2' ? '客户不确认' : type
})

/**
 * 进出口状态
 * type:  进出口状态 1进口 2出口
 * */
Vue.filter('importStatus', function (Import) {
  return Import === '1' ? '进口' : Import === '2' ? '出口' : Import
})

/**
 * 联系人现在状态
 * */
Vue.filter('contactStatus', function (status) {
  return status === 0 ? '离线' : status === 1 ? '在线' : status
})

/**
 * 订单状态
 * type:  订单状态 0完成 1已派车 2退关 3取消 4已受理 5换车
 * */
Vue.filter('bussStatus', function (Status) {
  return Status === 0 ? '完成' : Status === 1 ? '已派车' : Status === 2 ? '退关' : Status === 3 ? '取消' : Status === 4 ? '已受理' : Status === 5 ? '换车' : Status
})

/**
 * 预录状态
 * type:  预录状态 1未发送 2已发送
 * */
Vue.filter('recordStatus', function (Prestate) {
  return Prestate === 0 ? '未发送' : Prestate === 1 ? '已发送' : Prestate
})

/**
 * 放箱状态
 * type:  进出口状态 0未处理 1已放箱
 * */
Vue.filter('boxStatus', function (Fxstatus) {
  return Fxstatus === 0 ? '未处理' : Fxstatus === 1 ? '已放箱' : Fxstatus
})

/**
 * 交接单类型
 * type:  进出口状态 0未处理 1已放箱
 * */
Vue.filter('handoverStatus', function (importStatus) {
  return importStatus === '1' ? '出口提空送重' : importStatus === '2' ? '进口提重还空' : importStatus === '3' ? '空箱调拨(无箱号)' : importStatus === '4' ? '空箱调运(箱号)' : importStatus === '5' ? '商捡调运' : importStatus === '6' ? '退租调运' : importStatus
})
